package com.offcn.controller;

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Author: wy
 * @Date: 2022/9/23 17:36
 */
@RestController
public class SendController02 {

    @Autowired
    private RabbitTemplate rabbitTemplate;

    /**
     * 工作队列或者竞争消费者模式
     *
     * 可能会产生：  避免消息堆积
     *1） 采用workqueue，多个消费者监听同一队列。
     * 2）接收到消息以后，而是通过线程池，异步消费
     * @return
     */
    @RequestMapping("/send2")
    public String send() {
        for (int i = 0; i < 10; i++) {
            String message = "工作队列消息" + i;
            rabbitTemplate.convertAndSend("work_queue", message);
        }
        return "发送成功";
    }


}
